import { message } from "antd";
import axios from "axios";

//设置axios基础封装
const newAxios = axios.create({
    baseURL:"http://127.0.0.1:8002",
    timeout:5000
})

// 拦截器:
newAxios.interceptors.request.use((req)=>{
    console.log("interceptors");
    const token = localStorage.token
    if(token){
        req.headers.token = token
    }
    return req
})

/**
 * 响应拦截器。请求成功没有异常，将后端返回数据，返回给前端代码
 */
newAxios.interceptors.response.use((resp)=>{
    //统一处理后端的数据。后端压缩，解压
    return resp
},(error)=>{
    const response = error.response
    if(response){
        //判断状态码
        switch(response.status){
            case 500:
                message.error("服务器开小差了")
                break;
            case 401:
                message.error("身份认证失败，请重新登录")
                localStorage.removeItem("token")
                localStorage.removeItem("userInfo")
                window.location.href="/login"
            default:
                message.error("请求错误，但是不详")
        }
    }
})

//响应式拦截器

export default newAxios